In recent years, an ever-increasing number of applications and services have been made available over networks such as cellular networks and the Internet. Due to this, an increasing number of content and service providers are turning to technologies such as remote resource sharing and cloud computing. Cloud computing, in general, is an approach to providing access to electronic resources through services, such as Web services, where the hardware and/or software used to support those services is dynamically scalable to meet the needs of the services at any given time. A user or customer of a service provider will typically rent, lease, or otherwise pay for access to resources through the cloud, and thus does not have to purchase and maintain the hardware and/or software to provide access to these resources.
In this context, a large number of security concerns are faced by service providers and by their customers. Typically, the service provider wants to ensure that the resource infrastructure is secure and that their customers' services and data are protected. Similarly, the customer of the service provider needs to ensure that the provider has taken the proper security measures to protect their information against unauthorized use or access from end users or various other parties. Furthermore, in some cases, the customer may wish to delegate or share security privileges between multiple heterogeneous services and resources that reside within the service provider or in external networks. It is thus desirable to enable the customer to achieve such sharing of privileges in a trusted and secure manner.